package org.example.weboj.mapper;

import org.example.weboj.entity.TestCases;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wza
 * @since 2025-04-03
 */
public interface TestCasesMapper extends BaseMapper<TestCases> {
    
    /**
     * 根据问题ID获取所有测试用例
     */
    List<TestCases> selectByProblemId(@Param("problemId") Long problemId);

    /**
     * 根据问题ID获取示例测试用例
     */
    List<TestCases> selectSampleByProblemId(@Param("problemId") Long problemId);

    /**
     * 根据问题ID获取非示例测试用例
     */
    List<TestCases> selectNonSampleByProblemId(@Param("problemId") Long problemId);

    /**
     * 批量插入测试用例
     */
    int batchInsert(@Param("list") List<TestCases> testCases);

    /**
     * 根据问题ID删除测试用例
     */
    int deleteByProblemId(@Param("problemId") Long problemId);
}
